package com.xing.todolist.db.dao;

import androidx.paging.DataSource;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;

import com.xing.todolist.db.base.TodoMsg;

import java.util.List;

@Dao
public interface TodoMsgDao {

    @Insert
    void insert(TodoMsg...todoMsgs);

    @Query("DELETE FROM TodoMsg WHERE :id")
    void delete(int id);

    @Delete
    void delete(TodoMsg todoMsg);

    @Update
    void update(TodoMsg todoMsg);

    @Query("SELECT * FROM TodoMsg WHERE :id")
    TodoMsg findTodoMsgById(int id);

    @Query("SELECT * FROM TodoMsg ORDER BY id")
    DataSource.Factory<Integer, TodoMsg> findAllTodoMsg();

    @Query("SELECT * FROM TodoMsg ORDER BY id")
    List<TodoMsg> getAll();

}
